With the proliferation of digital computers throughout society, it has become increasingly important to ensure the integrity and longevity of electronic data created on those computers. Data backup systems, which typically copy electronic data or files from one storage media to another, have traditionally been used as one way of preserving such electronic data.
As beneficial as current data backup systems may be, they do have some limitations. In a small office environment, for example, there is typically one individual who is assigned the duty of creating backup copies of files and documents (i.e., performing "backups"). This individual may be responsible for scheduling the backups, inserting the correct secondary storage media into the backup device, or performing any other managerial tasks related to the backup or restore process. Furthermore, the individual who performs the backups is often the only person who has the capability of canceling, modifying, or fulfilling user backup and restore requests. One problem with such an arrangement is the reliance upon any one individual to perform the majority of backup and restore operations. If that particular individual was unavailable, user backup and restore requests could go ignored, thereby endangering data integrity and potentially decreasing productivity.
Another limitation with existing data backup systems lies within how the backup systems operate. Typically, users will request that particular data be backed up to or restored from a secondary storage media. The time required to fulfill such a request may vary depending upon the complexity of the request. If a request requires a secondary storage media different from that which is present in the backup device, the operator must first locate the appropriate secondary storage media and thereafter insert the media into the backup device. Any delays experienced may be compounded when multiple users concurrently share a single backup device, each issuing simultaneous backup or restore requests to the same device. In such a case, the requests are typically honored on a first come, first served basis. One problem with this method of data backup management is the sequential nature of which the backup and restore requests are handled. If, for instance, a user requests that data be restored from an non-locatable secondary media, subsequent user requests will be delayed until that secondary media is located and inserted into the backup device. Moreover, there will often be only one individual assigned the task of locating and inserting such secondary media.
Therefore, what is needed is a method and apparatus for receiving asynchronous data backup related requests from multiple users and opportunistically managing those requests automatically so that data is transferred as the necessary media becomes available rather than in an inflexible first in/first out (FIFO) manner.